1. Field of the Invention
The present invention generally relates to communication systems and, more particularly, to data communication systems which enable data compression and allow re-synchronization of transmit and receive compression dictionaries when an error is detected, without disrupting the connection.
2. Background Description
Data compression is widely used in voice-band modems today, using an international standard; i.e., International Telecommunications Union-Telecommunications Services Sector (ITU-T)(formerly Consultative Committee on International Telephone and Telegraphy (CCITT)) V.42bis. An example of a voice-band modem using data compression based on the well-known Lempel/Ziv algorithm is described in U.S. Pat. No. 4,814,746 to Victor S. Miller et al. for xe2x80x9cData Compression Methodxe2x80x9d. In particular, the Miller et al. patent describes communications between a host computing system and a number of remote terminals. According to the Miller et al. patent, this communication is enhanced by a data compression method which modifies the data compression method of Lempel and Ziv by addition of new character and new string extensions to improve the compression ratio, and deletion of a least recently used routine to limit the encoding tables to a fixed size to significantly improve data transmission efficiency.
A system requirement in these systems is that the data processed by the receiving data compression unit must be free of errors. Otherwise, the receive dictionary in that modem will get out of sync with the transmit dictionary in the modem at the other end of the communications link. Voice-band modems typically address this issue by adding an error control function (i.e., V.42, MNP 4) which detects errors and requests retransmission of data blocks received in error.
U.S. Pat. No. 5,130,993, to Michael Gutman et al. for xe2x80x9cTransmitting Encoded Data on Unreliable Networksxe2x80x9d describes a system in which information encoded by data compression (or another data encoding technique, e.g., encryption, requiring synchronization between the encoder and decoder) is transmitted over an unreliable network by checking for transmission errors after decoding. If an error is detected, the encoder is reset, using a reset protocol which may operate over an unreliable reverse channel by using a timer to generate further reset requests when the receiver does not acknowledge them in a timely fashion.
Although the Gutman et al. patent describes a procedure for re-synchronizing transmit and receive compression dictionaries, it places the error detection function outside of the error compression function, making it impossible to ensure that the link has recovered from a disturbance prior to initiating error recovery procedures. The Gutman et al. patent also requires the use of compression code words in the error recovery procedure, thus reducing the number of dictionary entries available for user data and forcing the link to operate with compression in both directions.
It is therefore an object of the present invention to provide recovery procedures that resynchronize the transmit and receive dictionaries when an error is detected, without disrupting the connection in the other direction.
It is another object of the invention to provide in a broadband data communication system supporting error detection running on compressed data a way to insure the physical connection between transceivers is solid prior to initiating error recovery procedures.
It is further object of the invention to make use of Escape sequences applicable to Transparent Mode of the Compression function, enabling both duplex and simplex compression functions, and providing a more reliable mechanism for completion of error recovery procedures in the presence of subsequent line disturbances.
The subject invention uses the Transparent Mode (TM) during the re-synchronization procedure. No special compression code words are required to accomplish the procedure, and there is no reduction in the number of code words available for actual compression encoding. The procedure works regardless of whether compression is being used in both directions, only one direction, or neither direction. The invention defines a new Transparent Mode Command to request that the remote modem send a RESET Command. The new command is termed RRESET. If Transceiver B detects a CRC (Cyclic Redundancy Code) error in the data it receives from Transceiver A, Transceiver B receiver will signal Transceiver B transmitter of the Error Event.
In a preferred embodiment employing broad band modems as the transceivers, the modem data pump receiver, upon detection of a CRC error, discards the affected data block without forwarding it to the receiver Data Decompression function. Thus, the Modem B receiver Data Decompression function only sees the CRC error signal from the data pump, but never sees the corrupted data. This will cause Modem B transmitter to switch to Transparent Mode (if currently in Compression Mode), and to send one or more RRESET commands to initialize the re-synchronization procedure. When detected in the received bit stream at Modem A, the RRESET command causes the Modem A receiver to signal the Modem A transmitter within that modem. Modem A transmitter, in response to that signal, will switch to Transparent Mode (if currently in Compression Mode), and send one or more RESET commands to Modem B which had made the request, and then reset its transmit compression dictionary. When Modem B receiver detects the RESET command, it resets its receive compression dictionary, so that it is in synchronization with Modem A transmit compression dictionary again, thus completing the re-synchronization procedure. The net result is that the Modem A transmit compression dictionary and Modem B receive compression Dictionary are reset, but the compression dictionaries used for the reverse path are not affected, thus avoiding the potential of lost compression effectiveness in the reverse direction due to the recovery procedure. At the end of the re-synchronization procedure, both directions of communication are left in Transparent Mode.
Previously defined mechanisms (i.e., V.42 bis) will test the compression capabilities in each direction, and will switch back to Compression Mode when (and if) the data stream and dictionary contents allow it. The communications path from Modem B to Modem A will most likely switch back to Compression Mode first, since previous content of its Compression Dictionary is retained during the re-synchronization procedure, while the Compression Dictionary for sending from Modem A to Modem B is purged of any previous content as a consequence of the Reset operation. Note that this same procedure will also re-synchronize the ESC character when the modems are operating in Transparent Mode.